# gml4gtk
  
Linux GTK+ gui program for gml or graphviz dot graph sugiyama layout algorithm. <https://graphviewer.nl/>  
  
![download gml4gtk on sourceforge](https://sourceforge.net/projects/gml4gtk/)
  
This program support partial graphviz dot, gml ,bgv or ci graph data and has own graph layout routines and does not depend on graphviz or others.  
This program has a GTK+ gui interactive user interface and can be compiled for gtk-2, gtk-3 or gtk-4 using configure:  
./autogen.sh  
./configure --with-gtk=2  
or:
./configure --with-gtk=3  
or:
./configure --with-gtk=4  
The gmltest directory has index.html page with javascript for syntax check of a gml graph in the browser  
The jgf4web directory has index.html page with javascript for graph layout of json jgf graph data in the browser  
The jgf json graph save and open feature is experimental or just may work.  
The json jgf files have file extension .jgf  
This program can be used with dot graph data generated by GNU GCC compiler, Bison, egypt, Linux kerne sparse tool and more  
To create a callgraph using gcc use gcc option -fcallgraph-info and the output.ci graph file to open with file->open ci  
Some other gcc options generating dot graph data are:  
-fdump-rtl-all-graph  
-fdump-tree-all-graph  
-fdump-ipa-all-graph  
-fdump-analyzer-callgraph  
-fdump-analyzer-exploded-graph  
-fdump-analyzer-state-purge  
-fdump-analyzer-supergraph  
The gml4win directory is a small windows graph layout program without using GTK+ libraries  
The gml4gtk program can be compiled for windows using the mingw gcc compiler and needs the GTK ddl's  
The node labels can be turned off in the gui and popup selected then the labels will be in a popup window which is needed for large graph drawings  
The gml4gtk program supports the usage of gzip'ed input graph data files using zlib  
For other details see the README1 file  
clang scan-build: No bugs found.  
gcc-11.2.1 -fanalyzer option: no issues  
  
![screenshot](screenshot.png)  
![screenshot2](screenshot2.png)  
  
SPDX-License-Identifier: GPL-3.0+  
License-Filename: LICENSE  
  
Made with ❤️️ <span>🇳🇱</span>
  
